Pobierz paczkę ze zbiorami danych (plik: data.tar.gz).
Otwórz w notatniku, np. Gedicie plik o nazwie
swimming.arff i poznaj strukturę plików uczących dla
weki z danymi symbolicznymi.
Uruchom oprogramowanie WEKA i kliknij w przycisk Explorer.
Załaduj plik w oknie (Explorer) i odpowiedz na następujące
pytania:
Jaki jest rozmiar zbioru uczącego?
Zbiór uczący to 7 kolumn (atrybutów, cech). W zbiorze swimming znajduje
się 6 instancji.
Ile atrybutów występuje w zbiorze uczącym?
Jest 6 instancji.
Ile instancji jest pozytywnych, a ile negatywnych?
4 pozytywne 2 negatywne
Spróbuj ustalić, który atrybut najlepiej rozdziela dane?
Wydaje się, że atrybut airTemp w naszym wypadku dobrze
rozdziela dane. Wszystkim, którzy mieli warm się podobało, a ludzie z
pogodą typu cold narzekali, bez wyjątku.
Ile elementów ze zbioru danych ma atrybut wilgotność (humidity)
ustawioną jako high?
4 elementy
Ile elementów ze zbioru danych ma atrybut sky ustawiony jako sunny, a
ile – jako wartość rainy?
sunny - 3 elementy
rainy - 1 element
Ile wartości brakujących znajduje się w rozważanym zbiorze
danych?
Wszystkie instancje mają wypełnione wszystkie pola. Procent wartości
brakujących to 0%.
Jakiego typu wartości przyjmują poszczególne atrybuty w rozważanym
zbiorze danych?
^ Wszystkie atrybuty mają typ Nominal.
Wczytaj kolejny plik (plik: swimming.arff) ze zbioru danych.
Wybierz klasyfikator J48 (okno Choose).
W oknie Test option zaznacz opcję Use training set - w przyszłości nie będziemy korzystali z tej opcji - tutaj czynimy wyjątek ze względu na niewielki zbiór danych.
Kliknij Start. Przyjrzyj się rezultatowi – co oznaczają wyniki?
Odpowiedz na następujące pytania:
Co wyświetla Confusion matrix?
Ile instancji obiektów zostało zaklasyfikowane poprawnie, a ile niepoprawnie za pomocą użytego klasyfikatora?
Prawa przekątna jest zerami, czyli brak pomyłek.
Zwizualizuj drzewo decyzyjne.
Mówiłem!! :)
Wybierz trzy dowolne klasyfikatory dostępne w WEKA. Wykonaj proste
eksperymenty. W przypadku, kiedy dany algorytm wymaga ustawienia
wartości poszczególnych parametrów – przy pierwszym eksperymencie zostaw
wartości domyślne (nic nie stoi na przeszkodzie, aby zmienić wybrane
parametry w kolejnych badaniach)
Dla każdego użytego klasyfikatora (po uruchomieniu; Use training set) zwróć uwagę na wynik (rezultat) przeprowadzonego eksperymentu – wypisz nazwę użytego klasyfikatora
KStar:
- 100% dobrze
- 0% źle
BayesNet:
- 100% dobrze
- 0% źle
REPTree:
- 66% dobrze
- 33% źle
Posiadając wyniki z przeprowadzonych eksperymentów spróbuj dokonać oceny użytych podejść, tzn. które podejście okazało się lepsze/gorsze/uzyskane rezultaty nie wykazały różnic w wynikach?
KStar i BayesNet nie wykazuje róźnicy. Z jakiegoś powodu REPTree dwa razy popełniło błąd.
Wczytaj kolejny plik (plik: credit-g.arff) do WEKA.
Przejdź do zakładki Classify.
Wybierz klasyfikator J48 (okno Choose).
W oknie Test option zaznacz opcję Percentage split – z wartością 66%.
Jakie ma to znaczenie? Tzn. czym jest owo 66% danych, a czym pozostała
część tego zbioru (34%), w jakim celu stosujemy taki podział? –
skomentuj.
Osobiście rozumiem to tak, że 66% wszystkich instancji zostanie
przeznaczone na nauczenie się reguł i przewidywania. Pozostałe 34%
instancji zostanie wówczas przeznaczona do przetestowania zbudowanego
modelu.
Uruchom algorytm.
Ile instancji obiektów zostało zaklasyfikowanych poprawnie, a ile
niepoprawnie?
Zmień algorytm na ZeroR (z gałęzi rules).
Ile instancji obiektów zostało zaklasyfikowanych poprawnie, a ile
niepoprawnie?
Wypróbuj inne klasyfikatory (dowolne)
Ile instancji obiektów zostało zaklasyfikowanych poprawnie, a ile niepoprawnie?
KStar:
- 70.5% dobrze
- 29.5% źle
BayesNet:
- 75.3% dobrze
- 24.7% źle
REPTree:
- 74.1% dobrze
- 25.9% źle
Przejdź do zakładki Preprocess i zobacz jak wygląda
rozkład atrybutu określającego czy danych zestaw jest dobry czy
zły.
700 instancji
wiarygodnych
300 instancji ryzykownych
Jaka byłaby skuteczność algorytmu który niezależnie od wartości atrybutów „strzelałby” że użytkownik jest wiarygodny?
70%
Dlaczego przed przystąpieniem do klasyfikacji, warto wcześniej przyjrzeć się danym?
Przed przystąpieniem do klasyfikacji, warto przyjrzeć się danym, ponieważ pozwala to lepiej zrozumieć dane i wybrać odpowiedni model klasyfikacyjny. Może to również pomóc w zidentyfikowaniu problemów z danymi, takich jak brakujące wartości lub niezbalansowane klasy. Przyjrzenie się danym również pozwala lepiej zrozumieć oczekiwane wyniki i ocenić, czy model będzie w stanie osiągnąć wymagane poziomy dokładności.
Wczytaj dowolny plik z danymi do WEKA.
Spróbuj dokonać następującego eksperymentu eksperymentu:
Dodaj szum do danych (pobaw się wartościami procentowymi) – gdzie
szukać?
Dokonaj klasyfikacji i sprawdź uzyskany rezultat – dowolny klasyfikator.
Dane przed szumem:
Dane po szumie 21%:
Jak widać jest niezła zmiana.